// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0

export SuperSimple := Rectangle {
//                 ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info}
    TouchArea {
        clicked => { root.x += 1phx; }
    }
    TouchArea {
        clicked => { x += 1phx; }
    }
    TouchArea {
        clicked => { 12 += 1; }
//                   ^error{Self assignment needs to be done on a property}
    }
    TouchArea {
        clicked => { x += "string"; }
//                        ^error{Cannot convert string to length}
    }

    TouchArea {
        clicked => { doesnotexist += 24; }
//                   ^error{Unknown unqualified identifier 'doesnotexist'}
    }

    TouchArea {
        property <string> text;
        clicked => { text *= 2; }
//                   ^error{the *= operation cannot be done on a string}
    }

    TouchArea {
        property <string> text;
        clicked => { text += 2; }
    }

    TouchArea {
        property <string> text;
        clicked => {
            text /= "hello";
//          ^error{the /= operation cannot be done on a string}
            text *= 2;
//          ^error{the *= operation cannot be done on a string}
            text -= text;
//          ^error{the -= operation cannot be done on a string}
        }
    }

    TouchArea {
        property <brush> color;
        clicked => { color += color; }
//                   ^error{the += operation cannot be done on a brush}
    }

    TouchArea {
        property <brush> color;
        clicked => { color *= 3; }
//                   ^error{the *= operation cannot be done on a brush}
    }

    TouchArea {
        clicked => { height /= height; }
//                             ^error{Cannot convert length to float. Divide by 1px to convert to a plain number}
    }

}
